The following description relates to loading documents in a client-server environment.
When writing dynamic pages that run on a browser, JavaScript (JS) objects are frequently used. In general, events or actions (including user actions) can be reflected in those JS objects. Thus, a JS object can hold state information that reflects a specific flow of actions performed. These actions are commonly performed by the user but can be a result of other input sources. In some client-server environments, state information in JS objects is sent to and stored at the server in response to each action that changes the state information. In other client-server environments, the server maintains its own record of client state based on the page requests received from the client. In still other client-server environments, state information need not be stored because state information is not necessary. But when state information needs to be maintained, caching the state information on the server can be used to prevent a loss of current state in a browser when a page with client-side dynamic behavior is reloaded.